mechanical engineer to software developer